package com.molichuxing.gateway.api.services;


import com.molichuxing.framework.dto.Paged;
import com.molichuxing.framework.result.ResponseResult;
import com.molichuxing.gateway.bff.terminal.entity.request.modify.DeviceModifyVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceAppVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceErrorListVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceErrorVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceListVo;

import java.util.List;
import java.util.Map;

/**
 * 终端相关接口
 *
 * @author zhaopenghui
 * @date 2020年4月1日
 */
public interface TerminalApiService {

    /**
     * 获取终端列表
     *
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    public ResponseResult<Paged<DeviceListVo>> getDevicePage(Map<String, Object> params, Integer pageNum, Integer pageSize);

    /**
     * 获取终端列表
     *
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    public ResponseResult<Paged<DeviceErrorListVo>> getDeviceErrorPage(Map<String, Object> params, Integer pageNum, Integer pageSize);

    /**
     * 设备
     *
     * @param deviceModifyVo
     * @return
     */
    public ResponseResult<Boolean> modifyDevice(DeviceModifyVo deviceModifyVo);

    /**
     * 设备
     *
     * @param deviceId
     * @return
     */
    public ResponseResult<List<DeviceAppVo>> getDeviceAppList(Integer deviceId);

    /**
     * 故障
     *
     * @param deviceId
     * @return
     */
    public ResponseResult<DeviceErrorVo> getDeviceError(Integer deviceId);
}
